using System.Collections.Generic;
using FixMath;
using UniFramework.Actor;

namespace UniFramework.Aoe
{
	public class AoeObj
	{
		public AoeConfig aoeConfig;
		public FixIntVector3 position; //释放位置
		public LogicObject caster; //释放者
		public FixInt radius;
		public FixInt duration;
		public FixInt timePassed;
		public FixInt angle; //aoe的角度
		public Dictionary<string, object> param; //aoe的传入参数，比如可以吸收次数之类的

		public AoeObj(AoeConfig config, LogicObject caster, FixIntVector3 position, FixInt radius, FixInt duration,
			FixInt angle, Dictionary<string, object> aoeParam = null)
		{
			this.aoeConfig = config;
			this.caster = caster;
			this.position = position;
			this.radius = radius;
			this.duration = duration;
			this.angle = angle;
			this.param = aoeParam;
		}

		public AoeObj Clone()
		{
			return new AoeObj(this.aoeConfig, this.caster, this.position, this.radius, this.duration, this.angle, this.param);
		}
	}
}